//
//  OACellProtocol.h
//  OASDK_Works
//
//  Created by ChenJie on 3/30/20.
//  Copyright © 2020 Mist. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "OACellViewModelProtocol.h"
#import "UITableViewCell+OACellProtocol.h"

#define OAValueWithRect(_cgRect) [NSValue valueWithCGRect:(_cgRect)]
#define OARectWithValue(_value) [(_value) CGRectValue]

#define BOTTOM_OF_CELL_CONTENT @"BOTTOM_OF_CELL_CONTENT"

@protocol OACellProtocol <NSObject>

@required

@property (nonatomic, strong) id<OACellViewModelProtocol> viewModel;

@optional

/* dynamic cellHeight */
+ (CGFloat)oa_heightWithWidth:(CGFloat)cellWidth viewModel:(id<OACellViewModelProtocol>)viewModel;

/* static cellHeight */
+ (void)oa_layoutWithCellSize:(CGSize)cellSize viewModel:(id<OACellViewModelProtocol>)viewModel;

@end

